package com.jp.config;

import com.jp.service.IUserService;
import com.jp.service.impl.UserServiceImpl;
import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer;
import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer;
import org.springframework.boot.web.servlet.ErrorPage;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpStatus;

/**
 * @类名称 ServiceConfig
 * @类功能描述
 * @作者 蒋正午
 * @日期 2019-09-08  14:37
 */
@Configuration // 专门用来配置，代替xml或者@注解
public class ServiceConfig {
    //方法名字可以随意写, 主要看类型，就相当于在XML中定义一个Bean
    @Bean
    public IUserService getUserService(){

        return new UserServiceImpl();
    }

    // 配置错误页面
    @Bean
    public EmbeddedServletContainerCustomizer containerCustomizer(){

        // 把错误的状态码对应的页面配置好
        return new EmbeddedServletContainerCustomizer() {

            @Override
            public void customize(ConfigurableEmbeddedServletContainer container) {

                ErrorPage errorPage400 = new ErrorPage(HttpStatus.BAD_REQUEST,"/error-400.html"); // 注意一定要使用相对路径
                ErrorPage errorPage404 = new ErrorPage(HttpStatus.NOT_FOUND,"/error-404.html");
                ErrorPage errorPage500 = new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR,"/error-500.html");
                container.addErrorPages(errorPage400,errorPage404,errorPage500);

            }
        };
    }



}
